import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // LoginUser: sessionStorage.getItem('LoginUser')
    //   ? JSON.parse(sessionStorage.getItem('LoginUser'))
    //   : null
    LoginUser: null
    // LoginUser: {
    //   id:2,
    //   name:'root',
    //   type:'管理员',
    //   password:'****',
    //   storeId: 2,
    //   serviceId:2,
    //   warehouseId:2
    // }

  },
  getters: {
    getLoginUser: (state) => {
      return state.LoginUser
    },
    getId: (state) => {
      return state.LoginUser
    }
  },
  // Mutation 必须是同步函数
  mutations: {
    // 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation
    // state作为第一个参数
    // 还可以传入额外的参数，即 mutation 的 载荷（payload）
    // 在大多数情况下，载荷应该是一个对象，这样可以包含多个字段并且记录的 mutation 会更易读
    initUser (state, padyload) {
      state.LoginUser = padyload
    },
    setStoreId(state, serviceId) {
      state.LoginUser.storeId = serviceId
    }
  },
  // Action 类似于 mutation，不同在于：
  // Action 提交的是 mutation，而不是直接变更状态。
  // Action 可以包含任意异步操作。
  actions: {
  }
})
